#pragma once

// CDlgNavi dialog
//#define DEF_D2DGRAPH

#include "hotspot.h"
#ifndef DEF_RENDERLESS
	#include "VMR9Graph.h"
#else
	#include "VMR9RGraph.h"
#endif

class CDlgNavi : public CDialog
{
	DECLARE_DYNAMIC(CDlgNavi)

public:

#ifndef DEF_RENDERLESS
	CVMR9Graph*		m_pVMR9Graph;
#else
	CVMR9RGraph*		m_pVMR9RGraph;
#endif
	CBitmap			m_Skin;
	CHotSpots		m_buttons;
	CThumbScroll	m_SliderNavi;
	CThumbScroll	m_SliderVolume;

	HOTSPOT			m_hsBtns[20];

public:
	void			init();
	void			prepareSkin();
	void			setBtnPos();
	void			setSliderPos();
	void			displaySkin(CDC* pDC);
	void			setMediaControls();
	void			setCurrFile(LPCTSTR szFileName);
	void			updateObjects(CDC* pDC = NULL);

public:
#ifndef DEF_RENDERLESS
	CDlgNavi(CVMR9Graph* pGraph, CWnd* pParent = NULL);   // standard constructor
#else
	CDlgNavi(CVMR9RGraph* pGraph, CWnd* pParent = NULL);   // standard constructor
#endif

	virtual ~CDlgNavi();

// Dialog Data
	enum { IDD = IDD_DLG_NAVI };

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

	DECLARE_MESSAGE_MAP()
public:
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg void OnDestroy();
	afx_msg void OnTimer(UINT_PTR nIDEvent);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
protected:
	virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
};
